#pragma once
#include <stdlib.h>
#include <stdio.h>
#include "../CQReflect/CQReflect.h"

class CQReflect_API ClassDemoA : public CQ::CQVirtual, CQ::CQReflect<ClassDemoA>
{
public:
	ClassDemoA();
	virtual ~ClassDemoA();
	virtual void Say() override;
	std::string func();
};

class CQReflect_API ClassDemoB : public CQ::CQVirtual, CQ::CQReflect<ClassDemoB>, CQ::CQReflect<ClassDemoB, const std::string&>
{
public:
	ClassDemoB();
	ClassDemoB(const std::string& para);
	virtual ~ClassDemoB();
	virtual void Say() override;
	std::string func();
};